package com.example.diabeco;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;
import android.widget.AdapterView.OnItemClickListener;

public class AgregarAlarmas extends Activity {
	protected static final int REQUEST_CODE = 0;
	private ArrayList<RowAlarmas> objListSettings;
	private ListView lista;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_agregar_alarmas);
		

				
		LoadAlarmsList();
		    
	}


	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.agregar_alarmas, menu);
		return true;
	}


	@Override
	public void onResume() {
	    super.onResume();  // Always call the superclass method first

	    //Creamos el objeto lista
		lista = (ListView) findViewById(R.id.listViewAlarmas);
				
		LoadAlarmsList();
	 
	}
	
//	@Override
//	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//	      super.onActivityResult(requestCode, resultCode, data);
//	      switch (requestCode) {
//			case REQUEST_CODE:
//				  // Obtenemos el valor devuelto por la otra actividad
//			         String dias = data.getStringExtra("Dias");
//			         String hora = data.getStringExtra("Hora");
//       
//			         //Agregamos la alarma a la lista
//			         agregarAlarma(hora, dias);
//			         Toast.makeText(this, "Alarma Guardada: ", Toast.LENGTH_SHORT).show();
//			         
//			         
//				break;
//	
//			default:
//				break;
//			}
//	   }

	
	/** Se llama al hacer click en "Agregar Alarmas" */
	public void sendMsgAgregarAlarma(View view) {
		//Creamos el Intent
		Intent intent = new Intent(this, ConfigurarAlarmaActivity.class);
		
//		//Iniciamos la nueva actividad
//		startActivityForResult(intent, REQUEST_CODE);
		
		startActivity(intent);
	}
	
	
	//Agregamos la alarma recien cargada
	public void agregarAlarma(String pHora, String pFecha) {
		// Cargamos la lista de Settings 
		String textTitulo, textSubtitulo; 
		int ToggleButton = 0;
				
//			//Creamos el ArrayList que va contener las filas tipo RowSettings
//			objListSettings = new ArrayList<RowAlarmas>();
//			
//			//Agregamos las entradas a la lista
//			textTitulo = pHora;
//			textSubtitulo = pFecha;
//			objListSettings.add(new RowAlarmas(true, textTitulo, textSubtitulo ));
//
//					
//			/**Codigo para usar el Adaptador **/
//  			 lista = (ListView) findViewById(R.id.listViewAlarmas);
//			 
//  			 lista.setAdapter(new ListAdapter(this, R.layout.alarma_fila, objListSettings){				
//			   	   @Override
//					public void onEntrada(Object entrada, View view) {
//				        if (entrada != null) {
//				            TextView texto_superior_entrada = (TextView) view.findViewById(R.id.textViewAlarmaTitulo); 
//				            if (texto_superior_entrada != null) 
//				            	texto_superior_entrada.setText(((RowAlarmas) entrada).get_titulo()); 
//
//				            TextView texto_inferior_entrada = (TextView) view.findViewById(R.id.textViewAlarmaSubTitulo); 
//					        if (texto_inferior_entrada != null)
//					           	texto_inferior_entrada.setText(((RowAlarmas) entrada).get_subtitulo()); 
//
//					        ToggleButton boton_entrada = (ToggleButton) view.findViewById(R.id.toggleButtonAlarma); 
//					        if (boton_entrada != null)
//					           	boton_entrada.setChecked(((RowAlarmas) entrada).get_button());
//					        }
//						}
//					});	
	}
	
	
	//Cargamos las alarmas desde la base de datos
	public void LoadAlarmsList() {
		BaseDeDatos dbAlarmas;
		SQLiteDatabase db;
		
		//Creamos el objeto lista
		lista = (ListView) findViewById(R.id.listViewAlarmas);
		
		//Seteo del click sobre la lista
	    lista.setOnItemClickListener(new OnItemClickListener() { 
		
	    @Override //Evento que se lanza al hacer click en un item de la lista
		public void onItemClick(AdapterView<?> pariente, View view, int posicion, long id) {
	    	Intent intent;
	    	RowSettings elegido = (RowSettings) pariente.getItemAtPosition(posicion); 
	    	 Toast.makeText(AgregarAlarmas.this, "Alarma Guardada: ", Toast.LENGTH_SHORT).show();
	    	 
////	    	TO DO - Cargar el intent para mostrar la alarma en la pantalla siguiente 
//			//Iniciamos la nueva actividad
//			intent = new Intent(AgregarAlarmas.this, ConfigurarAlarmaActivity.class);
//			startActivity(intent);
			}
	     });
		
		//Abrimos base de datos
		 dbAlarmas = new BaseDeDatos(this, BaseDeDatos.DATABASE_NAME, null, 1);
		 db = dbAlarmas.getReadableDatabase();
		
		//Cargamos las alarmas grabadas en base de datos
		Cursor miCursor = db.rawQuery("SELECT _id, hora, dias FROM alarmas;", null);
		
	
		
		startManagingCursor(miCursor);

		String[] from = new String[]{"hora", "dias"};
		int[] to = new int[]{R.id.textViewAlarmaTitulo, R.id.textViewAlarmaSubTitulo};

		SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.alarma_fila, miCursor, from, to);
		//Cerramos Base de Datos
		dbAlarmas.close();	
		
		lista.setAdapter(cursorAdapter);
		
	
				
    
	}
	
}
